<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for FFTW
(version 3.3.10, 10 December 2020).

Copyright (C) 2003 Matteo Frigo.

Copyright (C) 2003 Massachusetts Institute of Technology.

Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by the Free Software Foundation. -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Wisdom Export (FFTW 3.3.10)</title>

<meta name="description" content="Wisdom Export (FFTW 3.3.10)">
<meta name="keywords" content="Wisdom Export (FFTW 3.3.10)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html" rel="start" title="Top">
<link href="Concept-Index.html" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Wisdom.html" rel="up" title="Wisdom">
<link href="Wisdom-Import.html" rel="next" title="Wisdom Import">
<link href="Wisdom.html" rel="prev" title="Wisdom">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<span id="Wisdom-Export"></span><div class="header">
<p>
Next: <a href="Wisdom-Import.html" accesskey="n" rel="next">Wisdom Import</a>, Previous: <a href="Wisdom.html" accesskey="p" rel="prev">Wisdom</a>, Up: <a href="Wisdom.html" accesskey="u" rel="up">Wisdom</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="Wisdom-Export-1"></span><h4 class="subsection">4.7.1 Wisdom Export</h4>

<div class="example">
<pre class="example">int fftw_export_wisdom_to_filename(const char *filename);
void fftw_export_wisdom_to_file(FILE *output_file);
char *fftw_export_wisdom_to_string(void);
void fftw_export_wisdom(void (*write_char)(char c, void *), void *data);
</pre></div>
<span id="index-fftw_005fexport_005fwisdom"></span>
<span id="index-fftw_005fexport_005fwisdom_005fto_005ffilename-1"></span>
<span id="index-fftw_005fexport_005fwisdom_005fto_005ffile"></span>
<span id="index-fftw_005fexport_005fwisdom_005fto_005fstring"></span>

<p>These functions allow you to export all currently accumulated wisdom
in a form from which it can be later imported and restored, even
during a separate run of the program. (See <a href="Words-of-Wisdom_002dSaving-Plans.html">Words of Wisdom-Saving Plans</a>.)  The current store of wisdom is not affected by calling any
of these routines.
</p>
<p><code>fftw_export_wisdom</code> exports the wisdom to any output
medium, as specified by the callback function
<code>write_char</code>. <code>write_char</code> is a <code>putc</code>-like function that
writes the character <code>c</code> to some output; its second parameter is
the <code>data</code> pointer passed to <code>fftw_export_wisdom</code>.  For
convenience, the following three &ldquo;wrapper&rdquo; routines are provided:
</p>
<p><code>fftw_export_wisdom_to_filename</code> writes wisdom to a file named
<code>filename</code> (which is created or overwritten), returning <code>1</code>
on success and <code>0</code> on failure.  A lower-level function, which
requires you to open and close the file yourself (e.g. if you want to
write wisdom to a portion of a larger file) is
<code>fftw_export_wisdom_to_file</code>.  This writes the wisdom to the
current position in <code>output_file</code>, which should be open with
write permission; upon exit, the file remains open and is positioned
at the end of the wisdom data.
</p>
<p><code>fftw_export_wisdom_to_string</code> returns a pointer to a
<code>NULL</code>-terminated string holding the wisdom data. This string is
dynamically allocated, and it is the responsibility of the caller to
deallocate it with <code>free</code> when it is no longer needed.
</p>
<p>All of these routines export the wisdom in the same format, which we
will not document here except to say that it is LISP-like ASCII text
that is insensitive to white space.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Wisdom-Import.html" accesskey="n" rel="next">Wisdom Import</a>, Previous: <a href="Wisdom.html" accesskey="p" rel="prev">Wisdom</a>, Up: <a href="Wisdom.html" accesskey="u" rel="up">Wisdom</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
